1. Field of the Invention
The present invention relates to a method of managing system information of a hard disk drive, and more particularly, to a method of restoring system information when the system information written in a system region is damaged, and a method of reading system information by using the system information restoring method.
2. Description of the Related Art
A hard disk drive has a plurality of disks and heads, each disk being accessed by its corresponding head.
In a burn-in test of a manufacturing process of a hard disk drive, whether defects exist on a disk is checked. If defects exist on a disk, such a defect region is replaced with a spare region. Information about such replacement, namely a slip list, is written in a system cylinder (hereinafter, referred to as a system region) of the defective disk.
Generated in the burn-in test process, are specific correction values of the hard disk drive, such as a parameter to optimize a write current, a parameter to retry, and a parameter to optimize a read current. These specific correction values are essential information necessary for normal operation of a corresponding hard disk, drive and the specific correction values are stored in a system region of a disk.
Defects may also be generated on a disk while a hard disk drive is used by users. If defects are generated on a disk during use, such a defect region is replaced with a spare region. Information about such replacement, namely a reassign list, is also written in the system region.
System information written in the system region is important for operation and management of the hard disk drive. Therefore, such a system region should be safely protected against the danger of being damaged.
For system information written in a system region to be robust against errors, a method of preserving a copy of the system information is used. In the method, the system region is divided into a source region and a mirror region, and then original system information is written as source data in the source region, and the copied system information is written as mirror data in the mirror region.
FIGS. 1A and 1B illustrate examples of setting a source region and a mirror region in a hard disk drive. FIG. 1A illustrates an example of setting a source region and a mirror region in the same disk, and FIG. 1B illustrates an example of setting a source region and a mirror region in different disks. In FIGS. 1A and 1B, identical system information is stored on a hard disk drive in a source region 102 and a mirror region 104, respectively.
In FIG. 1A, for users convenience, the source data and the mirror data are written in such a way that only track addresses are different but sector addresses are the same for the source data and the mirror data. In FIG. 1B, the source data and the mirror data are written in such a way that only head addresses are different but track and sector addresses are the same for the source data and the mirror data.
When powered on, the hard disk drive 100 performs an initialization operation. In the initialization operation, the hard disk drive 100 accesses the source region 102 of a system region, and reads system information such as slip/reassign lists, read/write parameters, and a retry parameter, and then temporarily stores the read system information in a random access memory (RAM). The system region may be accessed every time the system information is required. But such a method considerably increases delay due to an access time. Therefore, to increase an access speed, the hard disk reads the system information in initialization operation, and then stores the read system information in an RAM (Random Access Memory). While the hard disk drive operates, it uses the system information stored in the RAM. If the system information is changed, such a change in the system information is written in the source region 102 and the mirror region 104.
FIG. 2 is a flowchart illustrating a conventional method of reading system information.
Referring to FIG. 2, if system information is required, a controller accesses the source region 102 and then reads source data (operation S202). The controller checks whether read errors are generated at the time of reading the source data (Operation S204). If it is determined that read errors are not generated in operation S204, the controller loads the read source data into a buffer area of a memory and then ends a read operation (operation 206). If it is determined that read errors are generated in operation S204, the controller accesses the mirror region 104 storing a copy of system information and then reads mirror data. The controller checks whether read errors are generated at the time of reading the mirror data (operation S208). If it is determined that read errors are not generated in operation S208, the controller loads the read mirror data into a buffer area and then ends a read operation (operation 206). If it is determined that read errors are generated in operation S208, the controller performs an error process operation S210. Here, whether read errors are generated is determined in consideration of a retry operation also.
As stated above, the conventional method provides against the danger of generation of errors in the source region 102, by backing up the system information in the mirror region 104.
But a possibility of generation of errors in the mirror region 104 is equivalent to that in the source region 104. In other words, read errors may be generated not only in the source region 102 but also in the mirror region 104. Consequently, the conventional method cannot provide against a case where read errors are generated in both the source region 102 and the mirror region 104.
Errors that may be generated in the system region are due to various causes such as defects (main cause), impurities, disk slip, and TA (Thermal Asperity). Also, the system information may be incorrectly written in the system region, due to an off-track condition.